/* WO-MAPMOG-PORT-002: shared full-view shell. --v-* tokens only. */
/* Live lane batch2 (WO-MAPMOG-REV1 shop-look fix): same surface family as the
   compact panes (.pc-pane / .pc-live-panel / the shared "glass" block in
   style.css) -- --v-surf (not --v-surf2), --v-edge border, the inset hairline
   + --v-sh shadow, no backdrop blur. --v-surf2 stays available for nested
   boxed sections that need to sit a shade darker than this frame. */
.pc-full, .pc-full-ghost {
  position: fixed; inset: 0; z-index: 9500;
  background: var(--v-surf); color: var(--v-ink); opacity: 1;
  display: flex; align-items: stretch; justify-content: center;
  font-family: var(--v-font);
  -webkit-backdrop-filter: none; backdrop-filter: none;
}
/* REV1-014: the root IS the maximized box (JS writes --pc-fv-* from the free rectangle). */
.pc-full-cap { font: 700 12px/1.3 var(--v-font); letter-spacing: .08em; text-transform: uppercase; color: var(--v-mut); margin: 0 0 8px; }
.pc-full-frame {
  display: flex; flex-direction: column; width: 100%; height: 100%;
  background: var(--v-surf); min-height: 0;
  /* REV1-017 pinned header: the frame never scrolls; the head is a fixed row; only .pc-full-body scrolls. */
  overflow: hidden;
}
.pc-full-head {
  display: flex; align-items: center; gap: 10px; padding: 14px 18px;
  border-bottom: 1px solid var(--v-line); background: var(--v-surf);
}
.pc-full-title { font: 700 18px/1.2 var(--v-font); color: var(--v-ink); }
.pc-full-head .pc-grow { flex: 1; }
.pc-full-head { flex: 0 0 auto; position: relative; z-index: 2; }
.pc-full-body { flex: 1 1 0; min-height: 0; overflow-y: auto; overflow-x: hidden; display: flex; }
@media (min-width: 601px) {
  .pc-full, .pc-full-ghost {
    inset: var(--pc-fv-top, 8px) var(--pc-fv-right, 8px) var(--pc-fv-bottom, 8px) var(--pc-fv-left, 8px);
    border: 1px solid var(--v-edge); border-radius: 18px;
    box-shadow: var(--v-sh);
    overflow: hidden;
  }
  /* The inner highlight line is drawn ABOVE the content (it used to be an inset box-shadow on the root, which the head,
     the frame and any card touching the edge painted over: the top line vanished on the straight run and only showed on
     the corner arcs, the bottom line was hidden behind the cards). Same 1px --v-hair, now one continuous ring at the
     root's inner radius (18 - 1 border), click-through. Rollback: restore the inset shadow above and delete this block. */
  .pc-full::after, .pc-full-ghost::after {
    content: ""; position: absolute; inset: 0; z-index: 5; pointer-events: none;
    border-radius: 17px; box-shadow: inset 0 0 0 1px var(--v-hair);
  }
}
/* shared parts */
.pc-full-rail { display: flex; flex-direction: column; gap: 4px; padding: 12px; min-width: 200px; border-right: 1px solid var(--v-line); }
.pc-full-tabs { display: flex; gap: 6px; padding: 10px 12px; border-bottom: 1px solid var(--v-line); }
.pc-full-tab, .pc-full-rail-item {
  padding: 8px 12px; border-radius: 9px; border: 1px solid transparent; background: transparent;
  color: var(--v-ink); font: 600 14px/1.2 var(--v-font); cursor: pointer; text-align: left;
}
.pc-full-tab[aria-selected="true"], .pc-full-rail-item[aria-selected="true"] { background: var(--v-acc); color: var(--v-accink); }
.pc-full-row { display: flex; align-items: center; gap: 12px; padding: 12px 14px; border-bottom: 1px solid var(--v-line); color: var(--v-ink); }
.pc-full-toggle { width: 38px; height: 22px; border-radius: 11px; border: 1px solid var(--v-line); background: var(--v-trk); cursor: pointer; }
.pc-full-toggle[aria-checked="true"] { background: var(--v-acc); }
.pc-full-toggle:disabled { opacity: .5; cursor: not-allowed; }
.pc-full-later { padding: 2px 8px; border-radius: 999px; background: var(--v-trk); color: var(--v-mut); font: 700 12px/1.4 var(--v-font); letter-spacing: .06em; }
.pc-full-empty { margin: auto; padding: 32px; text-align: center; color: var(--v-mut); font: 600 15px/1.4 var(--v-font); }
.pc-full-expand { width: 33px; height: 33px; }
/* REV1-014: compact panel header stays pinned while the panel body scrolls. */
.pc-pane > .pc-ph { position: sticky; top: 0; z-index: 2; background: inherit; padding-bottom: 6px; }

/* Live lane batch2: the root already carries the see-through --v-surf. The frame and
   head painted it again on top, so the big view read as solid white. Paint it once. */
.pc-full-frame, .pc-full-head { background: transparent; }

/* Shop ease (critic bar T6: every state change eases): a full view with no compact pane fades in and out over the
   same opacity + 10 px rise + scale .97 as Live/Settings/Info (f13-chrome.css pane ease), --v-dur-base, --v-ease-out
   in, --v-ease-in out. The ghost is the closing copy full-view.js leaves behind. Reduced motion: no animation, no
   ghost. Rollback: delete this block and the pc-full-ease / ghostOut lines in full-view.js. */
@media (prefers-reduced-motion: no-preference) {
  .pc-full.pc-full-ease { animation: pc-full-in var(--v-dur-base) var(--v-ease-out); }
  .pc-full-ghost { animation: pc-full-out var(--v-dur-base) var(--v-ease-in) forwards; pointer-events: none; }
}
@keyframes pc-full-in { from { opacity: 0; translate: 0 10px; scale: .97; } to { opacity: 1; translate: 0 0; scale: 1; } }
@keyframes pc-full-out { from { opacity: 1; translate: 0 0; scale: 1; } to { opacity: 0; translate: 0 10px; scale: .97; } }
