/* presenter.css — release shell: full-viewport responsive app + Витрина overlay */

html, body { margin: 0; height: 100%; background: #0b0a09; }
body { font-family: "Manrope", system-ui, sans-serif; }
#root { height: 100%; }

/* App fills the whole viewport; mode (desktop/mobile) is chosen in JS by width */
.presenter { position: relative; height: 100%; background: #0b0a09; }
.presenter .cf-app { height: 100%; }

/* ---------- Витрина: fullscreen overlay ---------- */
.ambient-overlay {
  position: fixed; inset: 0; z-index: 120; background: #0b0a09;
  animation: amb-in 0.32s ease both;
}
@keyframes amb-in { from { opacity: 0; } to { opacity: 1; } }
.ambient-esc {
  position: fixed; left: 50%; bottom: 26px; transform: translateX(-50%);
  z-index: 121; display: flex; align-items: center; gap: 8px;
  padding: 9px 16px; border-radius: 999px;
  background: rgba(18,16,15,0.82); border: 1px solid rgba(255,255,255,0.12);
  color: #cfcabf; font-size: 13px; font-weight: 600; letter-spacing: 0.01em;
  backdrop-filter: blur(10px); transition: opacity 0.6s ease;
}
.ambient-esc.fade { opacity: 0; pointer-events: none; }
.ambient-esc kbd {
  font: 700 11.5px/1 "JetBrains Mono", monospace; color: #f0eee9;
  padding: 3px 7px; border-radius: 6px; background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.14);
}

/* ---------- "Витрина" launcher on Управление ---------- */
.man-vitrina {
  margin-left: auto; display: inline-flex; align-items: center; gap: 7px;
  padding: 9px 15px; border-radius: 12px; font-weight: 700; font-size: 13.5px;
  color: var(--text); background: rgba(255,255,255,0.04);
  border: 1px solid var(--line); transition: background 0.15s, border-color 0.15s, transform 0.1s;
}
.man-vitrina:hover { background: var(--accent-soft); border-color: color-mix(in srgb, var(--mint) 34%, transparent); }
.man-vitrina:active { transform: translateY(1px); }
.man-vitrina svg { color: var(--mint); }

/* ---------- Error boundary fallback ---------- */
.cf-crash {
  position: fixed; inset: 0; z-index: 200; display: grid; place-items: center;
  padding: 24px; background: #0b0a09; color: #f0eee9;
  font-family: "Manrope", system-ui, sans-serif;
}
.cf-crash-card {
  max-width: 380px; text-align: center; padding: 34px 30px;
  background: #15120f; border: 1px solid rgba(255,255,255,0.09); border-radius: 22px;
}
.cf-crash-glyph {
  width: 54px; height: 54px; margin: 0 auto 18px; border-radius: 16px;
  display: grid; place-items: center; font-size: 28px; font-weight: 800; color: #0b1714;
  background: linear-gradient(145deg, #4fd1b5, #39b89c);
}
.cf-crash-card h2 { margin: 0 0 10px; font-size: 21px; font-weight: 800; }
.cf-crash-card p { margin: 0 0 22px; font-size: 14px; line-height: 1.55; color: #9a948a; }
.cf-crash-card button {
  font: 700 14px/1 "Manrope", sans-serif; cursor: pointer; color: #0b1714;
  padding: 12px 22px; border: none; border-radius: 12px;
  background: linear-gradient(145deg, #4fd1b5, #39b89c);
}

/* operations row hover actions */
.cf-row:hover [data-actions] { opacity: 1 !important; }
