.guest-wrap { max-width: 520px; margin: 0 auto; padding: 16px; }
.blind-banner {
  background: #2a1210; border: 1px solid #6a2a22; color: #f0b4aa;
  border-radius: 10px; padding: 10px 12px; font-size: 14px;
}
#shareLink { width: 100%; }
#mirrorBody[data-blind="1"] #poseCanvas { filter: blur(14px); opacity: 0.35; }
body[data-role="guest"] .sidemenu, body[data-role="guest"] .menu-btn { display: none; }
.hold-fat {
  font-size: clamp(64px, 18vw, 120px);
  line-height: 0.9;
  font-weight: 700;
  letter-spacing: -0.05em;
  text-align: center;
  margin: 8px 0;
}
.hold-fat small { font-size: 0.35em; margin-left: 4px; }
.armed-badge {
  text-align: center;
  letter-spacing: 0.16em;
  font-size: 13px;
  padding: 6px;
  border-radius: 8px;
  border: 1px solid var(--line);
}
.armed-badge.on { color: #f0b4aa; border-color: #6a2a22; background: #2a1210; }
.blind-flash {
  position: absolute; inset: 0;
  display: none;
  align-items: center; justify-content: center;
  background: rgba(42,18,16,0.82);
  color: #f0b4aa; font-size: clamp(28px, 8vw, 56px);
  font-weight: 700; z-index: 12;
  pointer-events: none;
}
.blind-flash.show { display: flex; }
.link-stale { color: #f0b4aa !important; }
.feed-bar {
  display: flex; align-items: flex-start; justify-content: space-between;
  gap: 8px; pointer-events: none;
}
.stat-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  justify-content: flex-start;
}
.stat-chips .out-chip {
  min-width: 56px;
}
.stat-chips .out-chip strong {
  font-size: 18px;
  text-transform: capitalize;
}
.feed-bar #btnFull {
  pointer-events: auto;
  flex: 0 0 auto;
  padding: 6px 10px;
  font-size: 12px;
}
#mirrorPane { display: none; }
.stage:fullscreen .stat-chips .out-chip strong,
.stage:-webkit-full-screen .stat-chips .out-chip strong { font-size: 28px; }
.extra-warn {
  position: absolute; top: 86px; left: 50%; transform: translateX(-50%);
  z-index: 12; pointer-events: none;
  max-width: 90%;
  padding: 10px 16px; border-radius: 12px;
  background: #6a1c16; color: #f7efe8;
  font-weight: 700; font-size: 16px;
  text-align: center;
  box-shadow: 0 8px 24px rgba(0,0,0,0.45);
}
.armed-live {
  position: absolute; top: 44px; left: 50%; transform: translateX(-50%);
  z-index: 11; pointer-events: none;
  padding: 6px 16px; border-radius: 999px;
  background: #6a1c16; color: #f7efe8; letter-spacing: 0.18em;
  font-weight: 700; font-size: 14px;
}
.viewport.is-armed { box-shadow: inset 0 0 0 4px #c94a3c; }
.stage:fullscreen .armed-live { font-size: 22px; top: 64px; }

