/* ═══════════════════════════════════════════════════════
   CANVAS MINIMIZED OVERVIEW
   5-frame bottom-zone comparison panel
   Shows y=80–570 of the room at scale 0.5 → 145×245px clip
   ═══════════════════════════════════════════════════════ */

/* ── Overlay container ── */
.cmv-overlay{
  position:fixed;inset:0;z-index:200;
  background:#0a0a0a;
  display:none;flex-direction:column;
  align-items:center;justify-content:center;
  gap:28px;padding:32px 20px;
  overflow:hidden;
}
.cmv-overlay.on{display:flex}

.cmv-header{
  display:flex;align-items:center;justify-content:space-between;
  width:100%;max-width:840px;
}
.cmv-title{
  font-size:10.5px;color:rgba(255,255,255,.38);
  letter-spacing:.8px;text-transform:uppercase;font-weight:500;
}
.cmv-close{
  appearance:none;border:0.5px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.03);color:rgba(255,255,255,.55);
  font-size:11px;padding:4px 10px;border-radius:12px;cursor:pointer;
  font-family:inherit;letter-spacing:.3px;transition:all .2s;
}
.cmv-close:hover{color:#fff;border-color:rgba(255,255,255,.3);background:rgba(255,255,255,.06)}

.cmv-row{
  display:flex;gap:14px;align-items:flex-start;
  overflow-x:auto;max-width:100%;
  padding-bottom:4px;
}
.cmv-row::-webkit-scrollbar{height:3px;background:rgba(255,255,255,.05)}
.cmv-row::-webkit-scrollbar-thumb{background:rgba(255,255,255,.12);border-radius:2px}

.cmv-unit{
  display:flex;flex-direction:column;align-items:center;gap:8px;
  flex-shrink:0;
}
/* Frame clip window — bottom 245px of 285px scaled height (showing from y=80 original) */
.cmv-clip{
  width:165px;height:278px;
  overflow:hidden;position:relative;
  border-radius:0 0 24px 24px;
  border:2.5px solid #242424;border-top:0.5px solid #1e1e1e;
  box-shadow:0 20px 40px rgba(0,0,0,.7);
}
/* Inner: full 290×570 phone, scaled to 56.9%, shifted so y=80 aligns to clip top */
.cmv-inner{
  position:absolute;width:290px;height:570px;
  background:#121212;
  transform:scale(0.569);transform-origin:top left;
  top:-45px;left:0;  /* -(324.3-278) = -46px ≈ -45px */
}
.cmv-lbl{
  font-size:9px;color:rgba(255,255,255,.38);
  letter-spacing:.5px;text-transform:uppercase;font-weight:500;
  text-align:center;line-height:1.4;white-space:nowrap;
}

/* ── Corner auras (reuse prototype keyframes bTL/bTR/bBL/bBR) ── */
.cmv-aura{
  position:absolute;width:520px;height:520px;
  mix-blend-mode:screen;pointer-events:none;z-index:1;
}
.cmv-atl{top:-260px;left:-260px;
  background:radial-gradient(circle at 50% 50%,
    rgba(255,165,0,1) 0%,rgba(255,165,0,.78) 14%,
    rgba(255,165,0,.38) 28%,rgba(255,165,0,.12) 42%,transparent 58%);
  animation:bTL 4.2s ease-in-out infinite;
}
.cmv-atr{top:-260px;right:-260px;
  background:radial-gradient(circle at 50% 50%,
    rgba(57,255,20,1) 0%,rgba(57,255,20,.76) 14%,
    rgba(57,255,20,.36) 28%,rgba(57,255,20,.11) 42%,transparent 58%);
  animation:bTR 4.2s ease-in-out infinite 1.1s;
}
.cmv-abl{bottom:-260px;left:-260px;
  background:radial-gradient(circle at 50% 50%,
    rgba(79,179,217,1) 0%,rgba(79,179,217,.74) 14%,
    rgba(79,179,217,.34) 28%,rgba(79,179,217,.11) 42%,transparent 58%);
  animation:bBL 4.2s ease-in-out infinite 2.2s;
}
.cmv-abr{bottom:-260px;right:-260px;
  background:radial-gradient(circle at 50% 50%,
    rgba(122,125,130,.98) 0%,rgba(122,125,130,.7) 14%,
    rgba(122,125,130,.32) 28%,rgba(122,125,130,.10) 42%,transparent 58%);
  animation:bBR 4.2s ease-in-out infinite 3.1s;
}

/* ── User aura (bottom cream glow) ── */
.cmv-ua{
  position:absolute;left:0;right:0;bottom:0;height:130px;
  pointer-events:none;z-index:2;mix-blend-mode:screen;
  background:radial-gradient(ellipse 52% 90% at 50% 100%,
    rgba(242,237,228,.5) 0%,rgba(242,237,228,.25) 30%,
    rgba(242,237,228,.06) 64%,transparent 84%);
  opacity:.22;
}

/* ── Ghost transcript ── */
.cmv-tc{
  position:absolute;left:36px;right:36px;
  top:40%;transform:translateY(-50%);z-index:4;
}
.cmv-line{margin-bottom:8px}
.cmv-line:last-child{margin-bottom:0}
.cmv-spk{font-size:8.5px;font-weight:700;letter-spacing:.2px;margin-bottom:2px;line-height:1}
.cmv-txt{line-height:1.44;color:#EAEAEA}
.cmv-line.old .cmv-txt{font-size:11px;opacity:.38}
.cmv-line.old .cmv-spk{opacity:.38}
.cmv-line.act .cmv-txt{font-size:14px;opacity:1}
.cmv-line.act .cmv-spk{opacity:1}

/* ── Mic ghost ── */
.cmv-mic{
  position:absolute;bottom:38px;left:50%;transform:translateX(-50%);
  z-index:7;opacity:.28;
  display:flex;align-items:center;justify-content:center;
}

/* ── Icon row ── */
.cmv-icons{
  position:absolute;bottom:10px;left:50%;transform:translateX(-50%);
  display:flex;gap:26px;align-items:center;z-index:7;
  transition:bottom .3s ease;
}
/* Icon row lifted — peek bar 38px + 8px gap = bottom:46px → top above peek */
.cmv-icons.lift{bottom:40px}
/* Mic lifted — icon row top at ~516px + 9px gap → bottom:65px */
.cmv-mic.lift{bottom:66px}
.cmv-ic{
  width:16px;height:16px;
  display:flex;align-items:center;justify-content:center;
  opacity:.42;position:relative;
}

/* ── Canvas icon badge ── */
.cmv-badge{
  position:absolute;top:-3px;right:-5px;
  width:13px;height:13px;border-radius:50%;
  background:#7C8CFF;color:#fff;
  font-size:9px;font-weight:600;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 0 8px rgba(124,140,255,.45);
  line-height:1;
}
.cmv-badge.pulse{animation:cmvBadgePulse 2s ease-in-out infinite}
@keyframes cmvBadgePulse{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}

/* ── Canvas peek bar — top of sheet peeking from bottom ── */
.cmv-peek{
  position:absolute;left:0;right:0;bottom:0;
  height:42px;z-index:9;
  background:rgba(24,24,28,.96);
  border-top:0.5px solid rgba(255,255,255,.09);
  border-radius:18px 18px 0 0;
  box-shadow:0 -6px 24px rgba(0,0,0,.55), inset 0 1px 0 rgba(255,255,255,.04);
  display:flex;flex-direction:column;align-items:center;
  padding:6px 14px 0;overflow:visible;cursor:pointer;
}
.cmv-peek-handle{
  width:28px;height:3px;border-radius:2px;
  background:rgba(255,255,255,.22);flex-shrink:0;
}
/* Row holding optional label + progress bar */
.cmv-peek-inner{
  display:flex;align-items:center;gap:8px;
  width:100%;margin-top:6px;
}
.cmv-peek-lbl{
  font-size:9.5px;color:rgba(124,140,255,.65);
  letter-spacing:.02em;white-space:nowrap;line-height:1;flex-shrink:0;
}
.cmv-peek-prog{
  flex:1;position:relative;height:2px;border-radius:1px;
  background:rgba(124,140,255,.16);overflow:hidden;
}
.cmv-peek-fill{
  position:absolute;left:0;top:0;height:100%;border-radius:1px;
  background:rgba(124,140,255,.72);
}
.cmv-peek-light{
  position:absolute;top:0;bottom:0;width:40px;
  background:linear-gradient(90deg,transparent,rgba(124,140,255,.55),transparent);
  animation:cmvTravel 3s linear infinite;
}
.cmv-peek-light.fast{animation-duration:2s}
@keyframes cmvTravel{from{left:-60px}to{left:calc(100% + 60px)}}

/* ── State labels ── */
.cmv-slbl{
  position:absolute;z-index:8;
  font-size:10px;letter-spacing:.04em;
  white-space:nowrap;color:rgba(124,140,255,.6);
}

/* ── Canvas sheet (Frame 1 only) ── */
.cmv-sheet{
  position:absolute;left:0;right:0;bottom:0;
  height:85%;z-index:8;
  background:rgba(14,14,14,.9);
  border-top:0.5px solid rgba(255,255,255,.08);
  border-radius:22px 22px 0 0;
  display:flex;flex-direction:column;
  padding:0;
}
.cmv-sh-handle{
  width:36px;height:4px;border-radius:2px;
  background:rgba(255,255,255,.18);
  margin:10px auto 0;flex-shrink:0;
}
.cmv-sh-prog-wrap{
  display:flex;justify-content:center;margin:14px 0 0;flex-shrink:0;
}
.cmv-sh-prog{
  width:40px;height:2px;border-radius:1px;
  background:rgba(124,140,255,.22);overflow:hidden;
}
.cmv-sh-prog-fill{width:37.5%;height:100%;background:rgba(124,140,255,.75)}
.cmv-sh-hd{
  flex-shrink:0;padding:14px 20px 6px;
  display:flex;flex-direction:column;gap:3px;
}
.cmv-sh-title{font-size:18px;font-weight:500;color:#F2EDE4;letter-spacing:.3px;line-height:1}
.cmv-sh-sub{font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:rgba(242,237,228,.38)}
.cmv-sh-cards{
  display:flex;flex-direction:column;gap:8px;padding:4px 14px;flex:1;overflow:hidden;
}
.cmv-sh-card{
  position:relative;border-radius:12px;
  background:rgba(242,237,228,.03);border:0.5px solid rgba(242,237,228,.06);
  padding:10px 12px 10px 17px;
  display:flex;flex-direction:column;gap:3px;flex-shrink:0;
}
.cmv-sh-card::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:3px;
  background:var(--c,#F2EDE4);border-radius:3px 0 0 3px;
}
.cmv-sh-meta{font-size:8.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--c,#F2EDE4);opacity:.72}
.cmv-sh-body{font-size:11.5px;line-height:1.3;color:rgba(242,237,228,.85);font-style:italic}

/* ── Prelude ghost (Frame 4 — card arriving, ~40% visible) ── */
.cmv-prl{
  position:absolute;left:12px;right:12px;z-index:12;
  background:rgba(18,18,20,.78);
  border:0.5px solid rgba(124,140,255,.22);
  border-radius:18px;
  box-shadow:0 0 40px rgba(124,140,255,.08),0 12px 28px rgba(0,0,0,.45);
  padding:13px;
  opacity:.72;filter:blur(.3px);transform:translateY(4px);
}
.cmv-prl::before{
  content:"";position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(124,140,255,.45),transparent);
}
.cmv-prl-q{
  font-size:13px;color:rgba(242,237,228,.92);font-style:italic;
  margin-bottom:8px;line-height:1.3;
}
.cmv-prl-opt{
  display:flex;align-items:center;gap:10px;
  padding:7px 8px;border-radius:10px;
  border-top:0.5px solid rgba(242,237,228,.06);
}
.cmv-prl-opt.on{background:rgba(124,140,255,.10)}
.cmv-prl-d{width:4px;height:4px;border-radius:50%;flex-shrink:0;background:rgba(124,140,255,.35)}
.cmv-prl-opt.on .cmv-prl-d{background:rgba(124,140,255,.95);box-shadow:0 0 5px rgba(124,140,255,.55)}
.cmv-prl-t{
  font-size:11.5px;line-height:1.3;color:rgba(242,237,228,.82);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}

/* ── Export arc (Frame 5) ── */
.cmv-arc-host{
  position:absolute;top:50%;left:50%;
  transform:translate(-50%,-50%);
  width:30px;height:30px;pointer-events:none;
}
.cmv-arc-svg{
  position:absolute;inset:0;
  animation:cmvArcSpin 1.8s linear infinite;
}
@keyframes cmvArcSpin{
  from{transform:rotate(-90deg)}
  to{transform:rotate(270deg)}
}
